package com.burst.reptile.framework.web.entity;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.burst.reptile.framework.aspectj.lang.annotation.Excel;
import com.burst.reptile.framework.aspectj.lang.annotation.Excel.Type;
import com.fasterxml.jackson.annotation.JsonIgnore;

import lombok.Data;

/**
 * Entity基类
 * @author wujin
 * @date: 2020年5月24日 下午12:14:21
 */
@Data
public class BaseEntity implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	/**
	 * 创建者
	 */
	@TableField(fill = FieldFill.INSERT)
	private String createUser;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
	private LocalDateTime createTime;

	/**
	 * 更新者
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private String updateUser;

	/**
	 * 更新时间
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
	private LocalDateTime updateTime;

	/** 搜索值 */
	private transient String searchValue;

	/** 数据权限 */
	private transient String dataScope;

	/** 开始时间 */
	@JsonIgnore
	private transient String beginTime;

	/** 结束时间 */
	@JsonIgnore
	private transient String endTime;

	/** 请求参数 */
	private transient Map<String, Object> params = new HashMap<>();
	
}
